import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const Login = ()=>import('../components/Login.vue')
const Home = ()=>import('../components/Home.vue')
const Welcome = ()=>import('../components/Welcome.vue')

const User = ()=>import('../components/user/User.vue')
const Rights = ()=>import('../components/power/Rights.vue')
const Roles = ()=>import('../components/power/Roles.vue')
const Cate = ()=>import('../components/goods/Cate.vue')
const Params = ()=>import('../components/goods/Params.vue')
const List = ()=>import('../components/goods/List.vue')
const Add = ()=>import('../components/goods/Add.vue')
const Order = ()=>import('../components/order/Order.vue')
const Report = ()=>import('../components/report/Report.vue')

const routes = [
  {
    path:"/",
    redirect:'/login'
  },
  {
    path:"/login",
    component:Login
  },
  {
    path:"/home",
    component:Home,
    children:[{
      path:'welcome',
      component:Welcome
    },{
      path:'/users',
      component:User
    },{
      path:'/rights',
      component:Rights
    },{
      path:'/roles',
      component:Roles
    },{
      path:'/categories',
      component:Cate
    },{
      path:'/params',
      component:Params
    },{
      path:'/goods',
      component:List
    },{
      path:'/goods/add',
      component:Add
    },{
      path:'/orders',
      component:Order
    },{
      path:'/reports',
      component:Report
    }]
  }
  
]

const router = new VueRouter({
  routes
})

// 配置路由全局前置钩子 完成对用户访问权限的控制
router.beforeEach((to,from,next)=>{
  const token =  window.sessionStorage.getItem('token')
  if(to.path == '/login') return next()
  if(!token){
    next('/login')
  }
  next()
})
export default router
